/****************************************************************
*  * *Process the common configure interface
*  * *
*  * *file name:logfile.h
*  * *
*  * *Copyright (C)2012 Cisco webex.
*  * *All rights reserved
*  * *
*  * *Author:zhenye
*  * *Date  :2013-04-27
*  * *
*  * ****************************************************************/
#ifndef __LOGFILE_H__
#define __LOGFILE_H__

#define MAX_ABSOLUTE_PATH_LEN 1024

enum{
	LOG_CRITICAL =0,
	LOG_ERROR	=1,
	LOG_WARN	=2,
	LOG_INFO	=3,
	LOG_DEBUG	=4,
      LOG_INVALID = 0XFF
};

MCT_EXPORT class CLogger
{
private:
    static CLogger *m_pInstance;

    BOOL_T m_bInit;

    CLogger();
    ~CLogger(VOID);
    LONG initiation(std::string &strConfigFile);


public:

    MCT_EXPORT static CLogger* getInstance(std::string &strConfigFile);
    MCT_EXPORT static CLogger* getInstance();

    MCT_EXPORT VOID setPriority(LONG logLevel);

    MCT_EXPORT VOID outMsg( const std::string& strInfo, LONG logLevel);
};


#endif // __LOGFILE_H__
